package com.hmall.common.config;

import com.hmall.common.interceptor.UserInfoInterceptor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

//这个配置类默认是不会生效的无法被SpringBoot扫描到，因此无法生效。所以在META-INF/spring.factories文件中配置而且还没有启动类
@Configuration
@ConditionalOnClass(DispatcherServlet.class)
//表示仅对包含了springMvc的核心类的微服务生效作用防止gateway启动报错
//gateway依赖了common所以报错原因是gateway是由WebFlux提供的功能，不是由SpringMvc提供的功能会产生冲突

//我们的目的使为每个微服务都添加一个拦截器，所以这个配置类是需要被加载的

public class MvcConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new UserInfoInterceptor());
    }
}
